package com.ruoyi.etravel.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

/**
 * 景点信息对象 etravel_scenic_spot
 *
 * @author caochong
 * @date 2022-11-11
 */
@TableName(value = "etravel_scenic_spot")
public class ScenicSpot extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** id */
    @Excel(name = "id")
    /**
     * IdType.AUTO          数据库ID自增
     * IdType.INPUT         用户输入ID
     * IdType.ASSIGN_ID     全局唯一ID，内容为空自动填充（雪花算法）
     * IdType.ASSIGN_UUID   全局唯一ID，内容为空自动填充
     */
    @TableId(type = IdType.AUTO)
    private Long scenicId;

    /** 景点名称 */
    @Excel(name = "景点名称")
    private String name;

    /** 景点等级 */
    @Excel(name = "景点等级")
    private String grade;

    /** 所在区 */
    @Excel(name = "所在区")
    private String location;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 景点公告 */
    @Excel(name = "景点公告")
    private String notice;

    /** 景点特色 */
    @Excel(name = "景点特色")
    private String tone;

    /** 经纬度 */
    @Excel(name = "经纬度")
    private String lal;

    /**
     * 设定存储景点和相关评论的map
     */
    @TableField(exist = false)
    private Map<String, Object> date = new HashMap<>();


    public ScenicSpot() {
    }

    public ScenicSpot(long serialVersionUID, Long scenicId, String name, String grade, String location, String address, String notice, String tone, String lal, Map<String, Object> date) {
//        this.serialVersionUID = serialVersionUID;
        this.scenicId = scenicId;
        this.name = name;
        this.grade = grade;
        this.location = location;
        this.address = address;
        this.notice = notice;
        this.tone = tone;
        this.lal = lal;
        this.date = date;
    }

    /**
     * 获取
     * @return scenicId
     */
    public Long getScenicId() {
        return scenicId;
    }

    /**
     * 设置
     * @param scenicId
     */
    public void setScenicId(Long scenicId) {
        this.scenicId = scenicId;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return grade
     */
    public String getGrade() {
        return grade;
    }

    /**
     * 设置
     * @param grade
     */
    public void setGrade(String grade) {
        this.grade = grade;
    }

    /**
     * 获取
     * @return location
     */
    public String getLocation() {
        return location;
    }

    /**
     * 设置
     * @param location
     */
    public void setLocation(String location) {
        this.location = location;
    }

    /**
     * 获取
     * @return address
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置
     * @param address
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取
     * @return notice
     */
    public String getNotice() {
        return notice;
    }

    /**
     * 设置
     * @param notice
     */
    public void setNotice(String notice) {
        this.notice = notice;
    }

    /**
     * 获取
     * @return tone
     */
    public String getTone() {
        return tone;
    }

    /**
     * 设置
     * @param tone
     */
    public void setTone(String tone) {
        this.tone = tone;
    }

    /**
     * 获取
     * @return lal
     */
    public String getLal() {
        return lal;
    }

    /**
     * 设置
     * @param lal
     */
    public void setLal(String lal) {
        this.lal = lal;
    }

    /**
     * 获取
     * @return date
     */
    public Map<String, Object> getDate() {
        return date;
    }

    /**
     * 设置
     * @param date
     */
    public void setDate(Map<String, Object> date) {
        this.date = date;
    }

    public String toString() {
        return "ScenicSpot{serialVersionUID = " + serialVersionUID + ", scenicId = " + scenicId + ", name = " + name + ", grade = " + grade + ", location = " + location + ", address = " + address + ", notice = " + notice + ", tone = " + tone + ", lal = " + lal + ", date = " + date + "}";
    }
}
